﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.ServiceModel;
using KerriganDataContract;
using KerriganDataContract.Blog;
using KerriganDataContract.Person;
using KerriganDataContract.Customer;
using KerriganDataContract.Authentification;

namespace KerriganInterface.IServiceClient
{
    [ServiceContract]
    public interface IBlogService 
    {
        [OperationContract]
        List<vwGetArticle> GetArticleToDisplay();

        [OperationContract]
        List<vwGetArticlesMoto> GetArticleMotoToDisplay();

        [OperationContract]
        List<vwGetArticlesCar> GetArticleCarToDisplay();

        [OperationContract]
        List<vwGetArticlesRoadSafety> GetArticleRoadSafetyToDisplay();

        [OperationContract]
        BlogDC GetAritcleById(int id);

        [OperationContract]
        List<vwGetCategory> GetCategoryToDisplay();

        [OperationContract]
        void UpdateArticle(int id, BlogDC bo);

        [OperationContract]
        void AddArticle(BlogDC bo);

        [OperationContract]
        void DeleteArticle(int id);

        [OperationContract]
        PersonDC GetPerson(int TheId);

        [OperationContract]
        void UpdatePerson(PersonDC dc);

        [OperationContract]
        void DeletePerson(Int32 id);

        [OperationContract]
        void CreatePerson(PersonDC dc);

        [OperationContract]
        List<PersonDC> GetAllPerson();

        [OperationContract]
        PersonDC GetAllSession(int id);

        //[OperationContract]
        //GetSessionDC CheckLoginUser(string nickName, string password);

        [OperationContract]
        AuthenticateUserDC CheckLoginUser(string nickName, string password);

        [OperationContract]
        CustomerDC GetCustomer(int id);

        [OperationContract]
        void AddCustomer(CustomerDC dc);

        [OperationContract]
        void DeleteCustomer(CustomerDC dc);
    }
}
